/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package modelo.dominiogeometrico;

import modelo.primitivas.SegmentoLinea;
import modelo.primitivas.Punto;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;
import java.util.Iterator;

/**
 *
 * @author Diego
 */
public class DominioGeometrico {

    private Grilla grillaDominio;
    private Set<Punto> conjuntoP;
    private Set<SegmentoLinea> conjuntoS;

    public DominioGeometrico()
    {
        grillaDominio = new Grilla(10,10,new Punto(0, 0));
        conjuntoP = new HashSet<Punto>();
        conjuntoS = new HashSet<SegmentoLinea>();
    }

    public Grilla getGrillaDominio()
    {
        return grillaDominio;
    }

    public Set<Punto> getConjuntoP()
    {
        return conjuntoP;
    }

    public Set<SegmentoLinea> getConjuntoS()
    {
        return conjuntoS;
    }

    public void setGrillaDominio(Grilla pGrilla)
    {
        grillaDominio = pGrilla;
    }

    public void setConjuntoP(Set<Punto> pConjuntoP)
    {
        conjuntoP = pConjuntoP;
    }

    public void setConjuntoS(Set<SegmentoLinea> pConjuntoS)
    {
        conjuntoS = pConjuntoS;
    }

    public boolean existeEnConjuntoS(SegmentoLinea pSegmento)
    {
        Iterator<SegmentoLinea> recorrido = conjuntoS.iterator();
        while(recorrido.hasNext())
        {
            SegmentoLinea comprobar = recorrido.next();
            if(comprobar.esSimilar(pSegmento))
            {
                return true;
            }
        }
        return false;
    }

    public boolean existeEnConjuntoP(Punto pPunto)
    {
        Iterator<Punto> recorrido = conjuntoP.iterator();
        while(recorrido.hasNext())
        {
            Punto comprobar = recorrido.next();
            if(comprobar.esIgual(pPunto))
            {
                return true;
            }
        }
        return false;
    }
}
